iT邦幫忙

2024 iThome 鐵人賽

DAY 3
0

系統架構圖是什麼?

系統架構圖是一種視覺化的圖表,用來展示一個系統的整體結構和組成部分。主要目的是幫助開發者、設計師和相關人員理解系統的各個組件是如何相互連接和互動的。

將此定義套用到modern web的範疇,在我們的系統架構中主要可以分成以下幾個區塊:

  • 前端(Frontend):使用者互動的所在,前端工程的職掌。
  • 後端(Backend):商業邏輯和數據處理的所在。
  • API(應用程序介面):前端和後端互動的橋樑,透過定義好的規格,讓前端可以通過他向後端請求或發送數據。
  • 資料庫(Database):用來儲存應用程序所需的數據。
  • 伺服器(Server):負責運行後端應用程式。
  • 網頁伺服器(Web Server):負責託管前端靜態資源。
  • 第三方服務(Third Party Service):串接的第三方服務,如支付服務、地圖服務、分析工具等。

以前端的角度我們要迅速抓住的範疇會是,前端、API、網頁伺服器、第三方服務。這幾個項目的熟悉程度會對日常作業有明顯的影響。所以製圖的重點就會放在這幾個項目上。


製作第一份系統架構圖(前端角度)

1. 找工具

常見的工具有 Draw.ioLucidchartFigma 或使用任何其他你熟悉的繪圖工具。以下用Draw.io作為範例。

https://ithelp.ithome.com.tw/upload/images/20240917/20169487qmARWGAr7E.png

2. 劃分區域

將前端、API、網頁伺服器、第三方服務分別劃出區域。可以按照使用者與網頁應用互動的順序由左至右擺放,互動對象相同的則可以上下擺放。

https://ithelp.ithome.com.tw/upload/images/20240917/20169487BRCXlbdTYz.png

補充一下關於系統架構圖的名詞定義。它不像流程圖那樣有嚴格的規範和符號定義。雖然沒有統一的國際標準規定如何繪製系統架構圖,但有些常見的做法和通用符號,可以用來表達。以下是一些常見的圖形和表示方式:

  • 方框:用於表示系統中的不同組件。並且通常會標注上名稱。

https://ithelp.ithome.com.tw/upload/images/20240917/20169487uJ6r84RL4x.png

  • 雲朵形:用於表示雲服務(AWS、Azure)或外部系統,如第三方API、外部網絡等。

https://ithelp.ithome.com.tw/upload/images/20240917/20169487Jy3s6brCa0.png

  • 圓柱形:用於表示資料庫或數據存儲。

https://ithelp.ithome.com.tw/upload/images/20240917/20169487adHm2CI5f0.png

  • 用戶:使用小人的圖標表示用戶

https://ithelp.ithome.com.tw/upload/images/20240917/2016948789ptAHu5fn.png

  • 虛線框:用於分隔不同的層次或區域,例如區分前端、後端、資料庫等部分,也可以用來表示子模塊或子組件。

https://ithelp.ithome.com.tw/upload/images/20240917/20169487oqtrCb2C6K.png

  • 箭頭:用於表示組件之間的關係和互動,例如資料流、控制流、API等。方向表示通信或資料流動的方向。

https://ithelp.ithome.com.tw/upload/images/20240917/20169487BQKjZ0HK4V.png

延伸閱讀:UML(統一建模語言)


3. 從前端專案開始繪製組件

這邊開始會遇到一個難關,假設要繪製Angular專案的架構圖,那總得搞清楚Angular的規範和概念對吧。

假設不懂的話怎麼辦?好消息是常見的三大框架都有文件,這部分強烈建議好好的閱讀一遍文件。

延伸閱讀:Angular Best Practice

下一篇文章會以Angular專案為例繼續製作我們的架構圖。


上一篇
# 開發功能前,先搞懂既有專案!
下一篇
# 前端角度的系統架構圖(二)
系列文
轉生成前端工程師後,30步離開新手村!13
圖片
  直播研討會
圖片
{{ item.channelVendor }} {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

尚未有邦友留言

立即登入留言